package com.chenhs.oop.study.异常的处理;

import java.io.FileNotFoundException;
import java.io.FileReader;
import java.io.IOException;

/**
 * @program: JAVA300
 * @description: 异常处理
 * java是采用面向对象的方式来处理异常的
 * 1异常抛出：若发生异常就生成代表该异常的对象，停止当前的执行路径，并将异常对象交给jre。
 * 2捕获异常：jre得到异常后就开始寻找相应的代码来处理异常，jre在方法的调用栈中查找，重生成异常的地方开始回溯直到找到异常的处理代码。
 * <p>
 * 注意：多个catch是子类异常要在父类异常的前面处理。try中存放执行的代码  catch中放出行相应异常的处理的代码
 * finally 中放不管是否有异常都会去执行得代码
 * 例如  oi的关闭，不管是否有异常  io流都是要关闭的。
 * 【throws】 抛出异常 意思是出现了出现了异常自己不处理 ，交给该方法的调用者处理。
 * @author: peanut
 * @create: 2019-02-13 23:49
 */
public class ExceptionTest {

    public static void main(String[] args) throws IOException {
        tryCacthFinallyTest();
    }


    public static void tryCacthFinallyTest() throws IOException {
        FileReader reader = null;
        try {
            reader = new FileReader("d:/aa.txt");
            char read = (char) reader.read();
            System.out.println("读取的文件内容：" + read);
        } catch (FileNotFoundException e) {
            e.printStackTrace();

        } catch (IOException e) {
            e.printStackTrace();
        } finally {
            reader.close();
        }
    }

}



